home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-03 | 79.9 KB | 1,673 lines |
- Freedom™ V1.14a
- ---------------
- ("Hey, das Popup ist mir neu..." ;-))
-
- 05.07.1995
-
- (c) 1995 by Christian Krüger und Kolja Koischwitz
- ("...die Jäger des verlorenen Bedienungskomforts...")
-
- EnhancedGEM 2.25 (c) 1995 by Christian Grunenberg
-
-
- XIMG-Decoder (c) by Dirk Haun
-
- 0. Einleitung
- =============
-
- Alle Software rüstet sich fürs Multitasking. Jeder halbwegs versierte
- Programmierer hat inzwischen seine Dialoge ins Fenster verfrachtet,
- die Zeit der Fluchecken ist vorbei! Übrig bleiben letzlich nur noch zwei
- Relikte aus der Singel-Zeit: Der Fileselektor und die Alertbox. Bisher gab
- es keine Rettung vor diesen Systemblockierern, doch damit ist jetzt
- Schluß: Freedom™ ist da! ;-)
-
- Die unglaublichen Features:
- ---------------------------
- - mindestens 8 Nonmodale Fileselektoren gleichzeitig!
- - komplett nebenläufig!
- - Alertboxen optional im Fenster
- - Programme, die VA_START unterstützen/eine Menüzeile haben,
- müssen zT nichtmal blockiert werden!
- - Unterstützung von langen Dateinamen
- - Font, Größe und Farbenm des Fileselektors sind variabel
- - Drag&Drop Fontprotokoll wird unterstützt
- - Tastaturbelegung 99% Selectric-kompatibel
- - Mehrfachfileselektion (natürlich auch Selectric-kompatibel)
- - Bis zu 40 voreinstellbare Dateinamen, Pfade und Extensions
- - History der letzten 20 ausgewählten Files
- - Maximal intuitive Bedienung, kurze Wege, wenig Klicks
- - Popups noch und nöcher... (o:
- - Linkshänder-Mode (!!!!)
- - Unix-Patterns (*,?,[]) sowie Extensionlisten ("*.TOS,*.PRG")
- - Dateien/Ordnern können Ikonen zugeordnet werden
- - Drag&Drop-Unterstützung (Pfade & Files können auf den Fileselektor
- gezogen werden (AV- bzw MTOS-D&D) und umgekehrt
- - Nachrichen, die Änderungen in Verzeichnissen bekanntgeben, werden
- ausgewertet (SH_WDRAW, AV_PATH_UPDATE, SC_CHANGED) und versendet!
- - Fuzzy-Namenserkennung! Freedom tut alles, um der aufrufenden
- Applikation (auch unter SingelTOS) einen aussagekräftigen Namen
- zu geben (Menüzeile, Xacc, AV-Protokoll...)
- - Dateien löschen, Neue Ordner/Dateien erzeugen und Datei/Ordner-Info
- - Dateien nach Maske suchen, selektieren und deselektieren
- - Pfad oder selektierte Files können ins Clipboard exportiert werden
- - Volle Kommunikation mit einem vorhandenen AV-Server (zB Thing)
- - Dateien löschen und touchen
- - Kopieren, verschieben per D&D und Klemmbrett, Kobold_2 wird autom.
- benutzt, wenn er sich im Speicher befindet oder die Environment
- Variable KOBOLD_PATH unter Multitasking den Pfad zum Kobold weist..
-
-
- 1. Warum gerade Freedom?
- ========================
-
- Das Problem ist bekannt: Flydials, Fileselektoren und Alertboxen legen das
- Multitasking lahm, indem sie den Bildschirm komplett fuer sich reservieren:
-
- - Terminalprogramme hören auf, anzuwählen und kriegen
- Übertragungs-Fehler beim Up-/Download
- - GEM-Raytracer hören auf zu tracen
- - GEM-Morpher hören auf zu morfen
- - GEM-konforme Packer hören auf zu packen
- (es sei denn, sie sind von Christian Grunenberg...)
- - Die Zeit in Fenster-Uhren bleibt stehen
- - Beim Druck auf F1 kommt nicht mehr der Kobold (o:
- - Das MagiC-Popup ist nicht mehr erreichbar
- - Die Menüzeile ist nicht mehr erreichbar
- - Sie können beim Kopieren/Verschieben/Löschen und Formatieren nicht
- weiterarbeiten, wenn das Programm dafür einen Dialog öffnet, wie es
- bspw. die Shell Gemini tut
- - usw usw
-
- Sollten ihnen einige der oben genannten Punkte schonmal selbst aufgefallen
- sein oder haben Sie sich sogar schonmal darüber schwarzgeärgert, dann
- sollten Sie einfach mal einen Blick auf Freedom werfen:
-
-
- 2. Die Installation
- ===================
-
- - FFSEL.PRG in den Auto-Ordner
- - FREEDOM.APP in FREEDOM.ACC umbennen und als Accessory installieren
- (unter MagiC/MiNT kann FREEDOM.APP auch später nachgestartet werden
- bzw unter MagiC auch in den APPS Ordner oder unter MiNT ins GEM.CNF)
-
- Für die Benutzer mit Speichermangel, die eine ausreichend schnelle Platte
- (und einen ausreichend schnellen Rechner) haben, gibt es noch eine weitere
- Möglichkeit: Zusätzlich zu FFSEL.PRG packt man eine Datei FFSEL.INF in den
- Auto-Ordner, in der Pfad zu FREEDOM.APP (incl.des Filenamens) drinsteht,
- etwa so:
-
- C:\FREEDOM\FREEDOM.APP
-
- Befindet sich Freedom dann nicht im Speicher, versucht der residente Teil,
- es nachzuladen. Ein so nachgeladenes FREEDOM.APP hat zusätzlich die
- Möglichkeit, sich nach einer bestimmten Zeit der Nichtbenutzung wieder aus
- dem Speicher zu entfernen. Diese Zeit ist (minimal 5s) in der
- Konfigurationsdatei FREEDOM.CNF (siehe späteres Kapitel) einstellbar.
-
- Das Nachladen unter einem Multitasking-OS ist (fast) unproblematisch,
- unter SingelTOS ist es nur mit Hilfe des Accessorys Chameleon (von Karsten
- Isakovic) möglich. Wir raten aber dennoch dazu, Freedom besser fest zu
- installieren.
-
- Wer trotzdem das Nachladen mit dem Chameleon will, sollte die diesem Paket
- beiliegende Version des Chameleons verwenden. Diese wurde so gepatcht, das
- 1. das beim Nachladen eines ACC's nicht mehr automatisch ein AC_OPEN an es
- versendet wird, und 2. der nachvollziehbare Absturz beim appl_find("?AGI")
- behoben ist.
-
-
- Da von einigen Freedom-Benutzern der Wunsch geäußert wurde, (zwecks
- Ausmerzung des störenden freien Speicherplatzes ;-)) Freedom zusammen mit
- Selectric zu installieren, besteht diese Möglichkeit nun. Das zu diesem
- Zweck in Umlauf gebrachte Programm KILLFSEL, welches nur Selectric's
- Eintrag im Cookiejar löscht, ist überfüssig geworden. Freedom ist nun
- selbst dazu in der Lage: Wenn FFSEL bei seiner Installation einen
- FSEL-Cookie mit Versionsnummer <2.00 vorfindet, ersetzt es dessen Wert
- durch einen Zeiger auf seine eigene Struktur. Wenn Sie nun noch das Glück
- haben, das FFSEL sich nach SLECTRIC ins GEM hängt, passiert genau das
- gewünschte: Freedom erscheint bei allen sauberen Programmen, Selectric
- übernimmt den Rest sowie die Behandlung des 'Programm starten..' Eintrags
- im MagiC-Popup.
-
-
- Alternativ zu FFSEL.PRG können sie auch den FFSELR.PRG in den Auto-Ordner
- packen. Der einzige Unterschied ist, das Fenster von gerade durch einen
- Fileselektor blockierten Applikationen, für die eine Redraw-Anforderung
- kommt, nicht ausgeblendet, sondern, wie es in früheren Freedom-Versionen
- war, mit dem Freedom-Logo gefüllt werden. Das ist häßlicher und
- inkompatibler als das neue Verfahren, spart jedoch auf langsamen Rechnern
- uU einige überflüssige Redraws ein (Man stelle sich vor, unter dem
- ausgeblendeten Fenster liegt zufällig eins von Calamus...). Dafür ist die
- Redraw-Version eine kBs größer...
-
-
- 3. Funktionsweise (nur für Programmierer interessant!)
- ======================================================
-
- Freedom besteht aus zwei Teilen:
-
- - Einem Fileselektor/Alertboxen-'Server' (FREEDOM.APP), der als parallele
- Applikation bzw. Accessory läuft, und darauf wartet, über eine
- definierte Schnittstelle (bestehend aus einem Satz AES-Messages)
- aktiviert zu werden. Er kann (nur vom Speicherplatz und den verfügbaren
- Fenster-handles begrenzt) beliebig viele Nonmodale Alertboxen und
- Fileselektoren öffnen. Der Server meldet sich beim Start über das
- XAcc-Protokoll an und führt im erweiterten XAcc-Namen (hochtrabend)
- "XFileSelect\0XFontAck".
-
- - Einem residenten Teil (FFSEL.PRG), der Applikationen, die einen
- Fileselektor bzw. eine Alertbox ausgeben wollen, den Programmfaden
- "abnimmt", einen entsprechenden Request an den Server sendet, den er
- ggf. vorher selbst parallel startet, und in einer Eventloop auf die
- Antwort- Nachricht des Servers wartet. Innerhalb dieser Eventloop wird
- gleichzeitig noch die Behandlung einiger anderer Messages
- (Fenster-Redraw, Moven, Sizen, Toppen, Lowern) für die Zeit des aktiven
- Alerts/Fileselektors durchgeführt, sowie die Menüzeile des aufrufenden
- Programms dis- und wieder enabled. Durch ausgeklügelte Programmierung
- ist dieser Teil bis zu 8 mal reentrant, dh es können bis zu 8
- verschiedene Applikationen einen Alert bzw. einen Fileselektor offen
- haben, bevor der Traphandler den Aufruf eines Fileselektors ignoriert
- bzw. einen Alert zum System durchreicht.
- Dieser Teil übernimmt nebenbei ggf. noch das Umsetzen der Server-
- Antwort in eines der 3 Selectric- Protokolle. Das dabei entstehende
- Problem, daß es nur einen Selectric-Cookie gibt, aber möglicherweise
- mehrere Applikationen gleichzeitig über ihn kommunizieren, wurde auf ein
- minimum reduziert...
-
- Da der residente Teil im Namen der Applikation Nachrichten empfängt,
- werden alle Nachrichten, bei denen es Sinn macht, der Applikation
- nachgereicht. Explizit 'geschluckt' werden die folgenden:
-
- (AC_CLOSE) ; Wegen Problemen mit dem Chameleon )o:
- AC_OPEN
-
- MN_SELECTED,
-
- WM_CLOSED,WM_FULLED,WM_ARROWED,WM_MOVED,
- WM_HSLID,WM_VSLID,WM_SIZED,WM_UNTOPPED,WM_TOPPED,WM_ONTOP,
- WM_NEWTOP,WM_ICONIFY,WM_UNICONIFY,WM_BOTTOMED
-
- VA_START,VA_STARTED,VA_DRAGACCWIND
-
- AV_SENDKEY ; AV-Server sollten das Freedom-Protkoll
- AV_STARTPROG ; unterstützen, wenn sie einen Fileselektor
- AV_OPENWIND ; aufrufen
- AV_OPENCONSOLE ;
-
- AP_DRAGDROP ; wird mit DD_NAK beantwortet
-
-
- 4. Bedienung
- ============
-
- Freedom verfügt extra für die Freunde der Mausbedienung über eine schier
- unendliche Zahl von Popups. Die Meisten davon sind bei Freedom durch Klick
- auf die Box erreichbar, in der der aktuelle Pfad zu sehen ist.
-
- Wechsel des Laufwerks - per Maus - via Tastatur
- -------------------------------------------------------------------------
- Klick auf Laufwerksbuchstabenbestandteil des Control-L öffnet
- Pfades öffnet ein Popup mit den vorhandenen das Popup ebenfalls
- Laufwerkskennungen.
- Alternativ:
- Alt-Laufwerksbuchstabe
- schaltet sofort um
-
- Veränderung der Anzeigemaske - per Maus - via Tastatur
- -------------------------------------------------------------------------
- Klick auf die Anzeigemaske des Pfades
- zeigt bei einem ..
- .. Linksklick: die gerade sinnvollen Masken Control-Y
- .. Rechtsklick: die benutzerdefinierten Masken Control-X
- (+Shift, wenn Dateien
- selektiert sind)
- .. Doppelklick links: die Maskeneingabe Control-E
- ...Doppelklick rechts: Wechsel zwischen '*.*'
- und der vom Programm übergebenen Maske
-
- Alternativ:
- Control-Tastenblock-1..0
- schaltet zwischen den
- ersten 10 benutzerdefin-
- ierten Masken um,
- Shift-Ctrl-Tastenblock-1..0
- wählt Maske 11..20,
- Control-Tastenblock-.
- wählt die geklemmte Maske
- Control-Tastenblock-*
- wählt *.* als Maske
-
- Verzeichnisebene wechseln - per Maus - via Tastatur
- -------------------------------------------------------------------------
- Klick mitten in den Pfad mit der linken
- Maustaste auf ..
- .. Verzeichnis: Popup mit alternativen Ver-
- zeichnissen öffnet sich
- .. Trenner (\): Der Pfad wird an dieser Stelle Control-1..0 geht 1..10
- "abgeschnitten", was ein Ersatz Ebenen zurück
- für das schnelle zurücksetzen
- mittels "Mac-Path" darstellt
- .. letzten \: Die Verzeichnisse in der
- aktuellen Ebene kommen in einem
- Popup
-
- Klick in den Closer (links neben dem Pfad) Control-Backspace oder
- geht eine Ebene zurück, mit einem Doppel-/ Control-Undo
- Rechtsklick gehts ins Wurzelverzeichnis Shift-Control-Backspace
- o. Shift-Cobtrol-Undo
-
- Direkter Einfach- oder Doppelklick (je nach Ordner mit den Pfeil-
- Einstellung) auf einen Ordner im Filefenster tasten anfahren und auf
- wechselt in diesen Ordner Return/Enter hauen
-
- Durch Doppel- bzw. Rechtsklick auf das Pfad- Control-P
- Objekt irgendwo vor dem letzen Trenner (\)
- erreicht man das Popup mit den benutzerde- Alternativ:
- finierten Pfaden. Alternate-1..0
- schaltet zwischen den
- ersten 10 benutzerdefin-
- ierten Pfaden um,
- Alternate-Esc wählt den
- geklemmten Pfad
- Shift-Alternate-1..0
- für Pfad 11..20
-
-
- Dateien (de-)selektieren - per Maus - via Tastatur
- -------------------------------------------------------------------------
- Eine einzelne Datei kann durch einfachen
- Linksklick selektiert werden.
- Sollen mehrere Dateien selektiert werden, muss
- die Maustaste gedrücktgehalten werden.
- Dabei ist zu beachten, das die Aktion nach
- einer gewissen Ruhephase zu Beginn als
- 'Greifen' zwecks Drag&Drop interpretiert wird.
- Dieser Zeitraum ist jedoch konfigurierbar.
- Das Fenster wird automatisch gescrollt, wenn
- der Mauszeiger während des Selektierens an den
- oberen bzw. unteren Rand stößt.
- Möchten Sie mehrere Dateien selektieren, die
- nicht nicht direkt aufeinander folgen, so
- klicken Sie sie einzeln an und halten dabei
- die Shift-Taste fest. Sie verhindert, das die
- schon selektierten Dateien wieder deselektiert
- werden.
- Alle Dateien können durch einfachen Links- Control-A
- klick auf den 'Alles selektieren'-Knopf rechts
- vom Pfad-Objekt (de-)selektiert werden.
- Durch einen Rechtsklick auf diesen Knopf wird Shift-Control-A
- die aktuelle Selektion invertiert.
-
- Dateien selelektieren nach Maske. Control-S
- Ein Doppelklick links auf den 'Alles selek-
- tieren'-Knopf öffnet einen Dialog, in dem Sie
- eine Maske eingeben können. Bei Betätigen von
- 'Ok' werden die auf die Maske passenden Dateien
- im aktuellen Fileselektor zusätzlich selektiert.
-
- Dateien deselektieren nach Maske. Shift-Control-S
- Ein Doppelclick rechts auf denselben Knopf
- öffnet den Dialog zum deselektieren.
-
- Das Popup mit den voreingestellten Files läßt Control-M
- sich durch Rechtsklick auf das Wort "Datei:"
- vor dem Editfeld erreichen. Mit einem Links-
- klick bekommt man das History-Popup, das die
- letzen (max. 20) ausgewählten Files zeigt. Control-<
- Wird beim Auswählen einer Datei aus einem der
- beiden Popup's eine Umschalttaste festgehalten,
- so wird die Datei nur 'angefahren' und selek-
- tiert, nicht jedoch der Fileselektor geschlos-
- sen.
-
-
- Mit den Pfeiltasten kann
- die aktuell selektierte
- Datei wie ein Cursor ver-
- ändert werden.
-
- Wird dabei Shift festge-
- halten, so gehts seiten-
- weise weiter, mit Control
- und auch mit ClrHome kann
- zum Anfang/Ende der Liste
- gesprungen werden, womit
- auch ein Scrollen per
- Tastatur ermöglicht ist
- (s. folgender Abschnitt)
-
-
- Wenn Sie Freedom so konfiguriert haben, können
- Sie auch mit einen Rechtsklick ins Filefenster
- einem Linksklick mit gedrückter Shift-Taste
- simulieren.
-
- Aktuellen Zustand ins Klemmbrett sichern. Control-C
- Zustand aus dem Klemmbrett wiederherstellen. Shift-Control-V
-
- In den Dateien scrollen - per Maus - via Tastatur
- --------------------------------------------------------------------------
- Die einfachste Möglichkeit: Sie nehmen den (s.o.)
- Slider durch einen einfachen Linksklick in die Control-Up, Control-Down
- Hand. Das Dateifenster wird beim Scrollen in
- Echtzeit aktualisiert. Alle anderen Bedienele-
- mente des Sliders entsprechen denen von GEM-
- Fenstern.
-
- Wenn Sie Freedom so konfiguriert haben, können
- Sie auch durch einen Rechtsklick direkt in das
- Filefenster scrollen (ähnlich wie beim Desktop
- 'Thing', allerdings mit dynam. Scrollweite)
-
-
- Veränderung der Sortierung - per Maus - via Tastatur
- --------------------------------------------------------------------------
- Rechts- oder Doppelklick auf den Slider Control-J
- öffnet das Sortierungspopup (Sehr praktisch,
- denn wenn man eine Datei sucht und sich deshalb Alternativ:
- für eine andere Sortierung entscheidet, hat man Control-H: nach Namen
- meist eh grad den Slider "in der Hand" Control-Z: nach Datum
- Control-G: nach Größe
- Control-T: nach Typ
- Control-K: Keine Sort.
-
- Control-R: Sort. revers
-
- Die Typsortierung kann zZt nur über das Popup
- an- und ausgeschaltet werden
-
-
- Drag & Drop - per Maus - via Tastatur
- --------------------------------------------------------------------------
- Wird über selektierten Dateien die linke Maus- Alt-Taste festhalten,
- taste festgehalten, erscheint nach kurzer Zeit mit den Pfeiltasten den
- ein Geisterrahmen mit den Umrissen der selek- Mauszeiger über die Da-
- tieren Objekte. Wird die Maustaste losgelassen, teien manövrieren, und
- werden die Dateien an die Position unter dem mit Alt-Insert 'greifen'.
- Mauszeiger 'abgeworfen'. Freedom zeigt während Dann können Sie mit den
- der Drag&Drop Aktion unten im Infoobjekt an, Pfeiltasten überall hin-
- was für eine Aktion durch das Drag&Drop ausge- transportiert werden.
- löst wird. Werden die Dateien auf eine fremde (Zugegeben: Das ist kein
- Applikationen gezogen, kann Freedom die Aus- Feature von Freedom (o:)
- wirkungen nicht voraussehen ("tun Sie nichts
- unüberlegtes" ;-)). Oft wird garnix passieren,
- es sei denn, die Fenster eines AV-Servers (wie
- 'Thing' oder 'Gemini'), oder eines Programms,
- das sich beim AV-Server angemeldet hat, sind
- das Ziel.
-
- Freedom kann auch mittels Drag&Drop kopieren bzw.
- verschieben, wenn Sie Dateien aus oder auf Fenster
- des AV-Servers ziehen, oder ein weiterer offener
- Freedom-Fileselektor das Ziel ist. Ein weiterer
- (nicht an eine Applikation gebundener) Freedom- auch mit Control-Help
- Fileselektor läßt sich mit einem Doppel- bzw. oder Shift-Help
- Rechtsklick auf das Freedom-Logo rechts oben
- öffnen.
-
-
- Freedoms Funktionen - per Maus - via Tastatur
- --------------------------------------------------------------------------
- Löschen: Selektieren Sie die zu löschenden Control-D
- Objekte und klicken Sie auf den Mülleimer
- unten links. Alternativ können Sie die Objekte
- auch auf den Eimer ziehen.
-
- Neues Objekt: Klicken Sie auf das Ordner- Control-N
- Symbol unten links (das 2.). Ein Dialog
- erscheint, über den Sie einen Ordner oder
- eine (leere) Datei in dem aktuellen Verzeich-
- nis anlegen können.
-
- Objekt-Information: Selektieren Sie ein oder Control-I (Tab)
- mehrere Objekte, deren Namen und/oder Attribute
- Sie verändern möchten und klicken Sie mit der
- linken Maustaste auf das Info-Symbol unten links
- (das 3.). Alternativ können Sie die Objekte
- auch aufs Icon ziehen.
-
- Gesamt-Information ("Dateien-Zählung"): Shift-Control-I
- Wählen Sie, nachdem Sie eine oder mehrere
- Dateien selektiert haben, das Info-Symbol mit
- der rechten Maustaste an, so wird eine
- (rekursive) Dateien-Zählung über alle zur Zeit
- selektieren Objekte in Gang gebracht.
-
- Laufwerks-Info ("Dateien-Zählung"): Shift-Control-I
- Klicken Sie das Info-Icon (mit links oder
- rechts), ohne das Dateien selektiert sind, so
- werden alle Dateien auf dem Laufwerk gezählt.
-
- Touch: Control-B
- Eine Funktion, die eher für Programmierer
- interessant ist. Sie können sie nun auch per
- Maus erreichen, indem Sie Dateien auf das
- "Neuer Ordner"-Icon draggen.
-
- Klemmbrett-Export: Control-C,Control-X
- Der Zustand (Pfad und ggf. selektierte Dateien)
- wird ins Klemmbrett exportiert. Dateien selektieren
- und auf das Klemmbrett-Icon ziehen. Bei Control-X
- wird zusätzlich eine Verschiebe-Markierung gesetzt
-
- Klemmbrett-Import (Kopieren/Verschieben) Control-V
- Klemmbrett mit links anklicken und Dateien ins
- Verzeichnisfenster draggen. Bei gedrückter
- Ctrl-Taste wird Verschoben. Wurden die Dateien
- mit Control-X geklemmt und nun mit Control-V
- geholt, wird ebenfalls verschoben.
-
- Klemmbrett-Import (Zustand wiederherstellen): Shift-Control-V
- Zustand aus dem Klemmbrett wiederherstellen.
- Klemmbrett-Icon mit rechts anklicken. So ist
- auch ein "Austausch" mit dem Desktop Gemini
- möglich: In Gemini kann die aktuelle Selektion
- in einem Fenster mit ^C exportiert und dann in
- Freedom mit ^V wieder importiert werden. Leider
- geht's in die andere Richtung (wg. fehlender
- Funktion in Gemini) nicht!
-
- Außerdem kann nun wieder eine Dateiliste Shift-Control-C
- formatiert mit einem Formatstring (#NICEFORMAT)
- ins Klemmbrett exportiert werden, etwa, um sie
- in einem anderen Programm einzubinden. Dazu ist
- nur das Anwählen der gewünschten Dateien und
- ein folgender Doppelklick auf das Klemmbrett-
- Icon nötig. Die so exportierten Dateien können
- nicht wieder mit ^V Importiert werden.
-
-
- Dateien suchen: Lupe unten links anwählen. Control-F
- Ein Dialog erscheint, in dem Sie eine Such-
- Maske eintippen können, und angeben dürfen,
- wo gesucht werden soll. Die Environment-Var.
- DRIVEMAP wird, wenn gesetzt, bei der Suche
- auf allen Laufwerken beachtet. Mit 'Ok' wird
- die Suche gestartet. ESC bricht die Suche ab.
- Wurde eine Datei gefunden, erscheint ihr Name
- in dem breiten Knopf unter der Suchmaske.
- In diesem Fall haben Sie 4 Auswahlmöglichkeiten:
- breiter Knopf: Datei wird im aufrufenden
- Fileselektor selektiert und an die Applikation
- ausgeliefert.
- Ok: Datei wird im aufrufenden Selektor
- selektiert. Bei einem Rechts-/Doppelklick die-
- selbe Wirkung der 'breite Knopf'..
- Weiter: Es wird eine Weitere auf die Maske
- passende Datei gesucht.
- Abbruch: Suchdialog ohne Aktion schließen.
-
- Freedom stellt normalerweise zwischen einem
- Suchdialog und dem aufrufenden Fileselektor
- eine "unsichtbare" Verbindung her um dann, wenn
- sie im Suchdialog eine Datei auswählen, diese
- im zugehörigen Fileselektor zu selektieren. Da
- Sie so nur einen Suchdialog pro Fileselektor
- öffnen können, gibt es noch die Möglichkeit,
- bel. viele "ungebundenene" Suchdialoge mit Shift-Control-F
- einem Rechtsklick auf die Lupe zu öffnen.
- (Wenn sie das ihrer Platte antun wollen.. ;-))
-
- Objekt öffnen: Ist vor allem für Benutzer von Datei(en) selektieren
- Multitasking-Betriebssystemen wie MagiC oder und Control-O drücken
- MTOS interessant: Ein rechter Doppelklick auf
- ein Objekt bewirkt das 'Öffnen' des Objektes, Alternativ Control-Return
- d.h.: Handelt es sich um ein Programm, so
- wird es gestartet, ansonsten wird ggf. einem
- konfigurierbaren Viewer eine Nachricht mit der
- selektierten Datei gesendet.
- Freedom startet den Viewer auch parallel nach,
- wenn er ihn nicht im Speicher antrifft. Da
- dies insgesamt nicht sehr flexibel ist,
- überläßt Freedom das Öffnen dem AV-Server,
- sofern ein solcher vorhanden ist. Der beachtet
- dabei dann die angemeldeten Applikationen usw.
- Ausserdem lassen sich dann auch Verzeichnisse
- 'öffnen'.
-
- Der Autolocator - eine Wissenschaft für sich..
- ----------------------------------------------
- Der Autolocator eines gewissen anderen Fileselektors war noch einfach,
- doch mit Freedom wird auch das anders (o: Jetzt endlich kommen auch
- eingeschworene Feinde des Autolocators in den Genuss seiner
- Funktionalität. Mit Freedom kommt der 'Einmal-Autolocator', wie man ihn
- schon von diversen Commandline-Shells als 'Completion' kennt: Ist der
- ständige Autolocator abgeschaltet, kann mit Tab ein einmaliger Autolocator
- ausgelöst werden. Da hier ein offensichtlicher Konflikt mit der
- Funktionalität 'Objekt-Info' (auch Tab) vorhanden ist, und wir es (wie
- auch sonst) allen recht machen wollen, ist die Tab-Taste auf eine der
- beiden Funktionalitäten konfigurierbar. Objekt-Info ist ja zusätzlich mit
- Control-I erreichbar, der einmalige Autolocator liegt zusätzlich (fest)
- auf Control-Tab.
- Freedoms Autolocator sucht standardmäßig nach Ordnern und Dateien. Wird
- zusätzlich die Shift-Taste gedrückthalten, wird nur auf Dateien gematcht.
- Eine nochmalige Beschleunigung des Autolocatens bringt das 'Cycle'-Feature
- des einmaligen Autolocators. Wird derselbe nämlich mehrfach hintereinander
- ausgelöst, geht er auch hintereinander alle Dateien durch, auf die das
- schon Eingetippte passt.
-
-
- Das Klemmbrett
- --------------
- In der (aktuellen) Version 1.14 wurde die Klemmbrettfunktion erheblich
- verbessert und verfeinert. Prinzipiell dient das Klemmbrett nun dazu,
- Dateinamen zur späteren Verwendung oder zur Weitergabe an andere Programme
- zwischenzuspeichern (Die Datei SCRAP.TXT im System-Klemmbrett wird dazu
- benutzt). Um Dateien auf dem Klemmbrett zwischenzuspeichern, selektieren
- Sie sie einfach und ziehen sie dann auf das Klemmbretticon. Eine weitere
- Möglichkeit ist, ^C oder ^X zu drücken. Zum Zurückholen der Dateien
- klicken Sie mit links auf das Klemmbrett und halten sofort die Dateien "in
- der Hand". Nun haben sie die schon von vorherigen Versionen bekannten
- Möglichkeiten, die Dateien wieder abzuwerfen: Über anderen Applikationen,
- über dem Mülleimer/Info-Icon/Eingabefeld/Pfadfeld und der Datei-Listbox
- (zum Kopieren). Das Kopieren/Verschieben bzw Dateien auswählen (mit Shift)
- können sie auch per Tastatur, mittels ^V. Je nachdem, ob sie die Dateien
- mit ^C oder ^X auf das Klemmbrett befördert haben, werden sie Ihnen bei ^V
- zum Kopieren oder Verschieben angeboten. Halten sie stattdessen zusätzlich
- Shift fest, werden die Datei aus dem Klemmbrett wie gehabt selektiert. Das
- ist nebenbei eine gute Möglichkeit, wieder in den Herkunftspfad zu
- gelangen (Das, was man bei Selectric einstellen konnte), nachdem Sie mit
- dem Kopieren fertig sind. Das also, was in der Version 1.13 als "Zustand
- wiederherstellen" auf ^V lag, ist nun mit +^V zu erreichen. Ausserdem
- bietet Freedom ja auch noch das Feature, eine Dateilist nach einem
- Formatstring (#NICEFORMAT) formatiert ins System-Klemmbrett zu sichern.
- Diese Funktion liegt wie gehabt auf +^C bzw. Doppel/-Rechtsklick auf das
- Klemmbrett-Icon. Eine solche Dateiliste läßt sich im Normalfall _nicht_
- nach der oben beschriebenen Methode, etwa mit ^V, "zurückholen".
-
- Um es nochmal zu betonen: Es wird bei ^C/^X lediglich eine Liste von
- Dateinamen als SCRAP.TXT gemerkt. Es werden _keine_ Dateiinhalte
- gespeichert. Es ist demnach nicht möglich, Dateien per ^C aufs Klemmbrett
- zu sichern, zu löschen, und dann woanders wieder mit ^V "einzukleben". Die
- Herkunftsdateien sind dann einfach nicht mehr vorhanden!! Wer etwas
- verschieben will, sollte das zB über ^X machen. Die Dateien werden hier
- (im Gegensatz zum "normalen" Verständnis der Fkt. "Cut") erst während des
- später angeworfenen Verschiebe-Vorgangs gelöscht. Für die Interessierten:
- Ob eine Dateiliste mit ^X oder ^V geklemmt wurde, merkt sich Freedom
- (frecherweise (o:) über das Archiv-Bit der Datei SCRAP.TXT. Bei ^X wird
- das (normalerweise gesetzte) Bit gelöscht.
-
- Ganz nebenbei: Man kann nun auch Dateien draggen, wenn Freedom als modaler
- Dialog erscheint!
-
-
- Sechs kleine Helferlein
- ----------------------
- - Das Filepopup: Mal ehrlich: Wie oft arbeiten sie tage- oder sogar
- wochenlang immer nur mit den gleichen 4 Dateien, und
- suchen sie aber tagtäglich wieder mit ihrem Fileselektor.
- Das muß nicht sein! (o: In der Freedom-Konfigurations-
- datei können Sie bis zu 40 Dateien mit ihrem vollen Pfad
- eintragen, die sie dann in Freedom durch einen einfachen
- Klick aus einem Popup holen. Ihr Fileselektor nimmt ihnen
- dann alles ab: Wechsel in das Verzeichnis, Datei
- selektieren und 'Ok' drücken. Dieses Popup kann gefiltert
- mit der aktuellen Maske und auch ungefiltert geöffnet
- werden (Doppelklick)!
- - Das History-
- popup: Nun hat Freedom endlich auch eine History. Diese bleibt
- (wenn in der Konfig-Datei ein History-File angegeben ist)
- auch erhalten, wenn Sie den Rechner ausschalten! In
- diesem Popup finden Sie immer die letzten (max. 40) Files
- mit vollem Pfad, die Sie in ihrem Fileselektor ausgewählt
- haben. Dieses Popup kann gefiltert mit der aktuellen Maske
- und auch ungefiltert geöffnet werden (Doppelklick)!
- - Das Masken- &
- - das Pfadpopup: Hatte beides auch schon der Fileselektor, den Sie vor
- Freedom benutzt haben. Auch mit Freedom können Sie
- Einträge in diesen Popups 'ersetzen', indem Sie einen
- Doppel- oder Shift-Klick machen. So wird die aktuelle
- Auswahlmaske bzw. der komplette aktuelle Pfad in das
- jeweilige Popup übernommen. Das hat allerdings nur
- temporären Charakter, da es sich (noch) nicht abspeichern
- läßt. Möchten Sie also einen festen Eintrag in eines der
- Popups neu aufnehmen, führt zZt kein Weg an der
- Konfigurationsdatei vorbei.
- - Das 'mögliche
- Masken'-Popup: In diesem Popup sind immer nur die Masken zu sehen, zu
- denen im aktuellen Verzeichnis auch passende Dateien
- existieren. Der erste Eintrag in diesem Popup ist immer
- '*.*'.
- - Das Dateityp-
- Popup: ..erreichen sie mit einem rechten Doppelklick auf die
- Extension. Es zeigt die Namen von allen in der Konfig-
- datei definierten Dateitypen. Wählen Sie einen davon aus,
- so wird er in spitzen Klammern als Extension übernommen.
- Halten sie Shift dabei fest, so wird der ausgewählte Typ
- mit Komma getrennt an die aktuelle Extension angehängt.
-
-
- Einige letzte Bemerkungen zur Bedienung
- ---------------------------------------
-
- - Das kleine Symbol unten rechts im Fileselektor dient dazu, Freedom in
- der Größe zu verändern. Dabei wird online die resultierende Größe des
- Filefensters in Spalten/Zeilen angezeigt.
-
- - An vielen Stellen ist der Fileselektor so ausgelegt, das es
- 'zwei-Wege'-bedienbar ist, will sagen: Die einen halten lieber während
- einer Aktion die ganze Zeit die Maustaste fest, die anderen klicken
- lieber am Anfang und am Ende einmal kurz. Freedom kann beides, und zwar
- fast überall: Bei allen Popups, beim Slider, bei der Fluchecke (falls
- Freedom mal modal kommen muss), beim Aufziehen ('Sizen') des
- Fileselektors und schließlich sogar beim Drag&Drop (Ctrl o. Alt beim
- 'Greifen' festhalten).
-
- - Der 'Weiter'-Knopf im Such-Dialog hat noch einige Besonderheiten: Für
- Mausbenutzer ist er so gestaltet, das man die Maustaste auf ihm auch
- gedrückt halten kann, um so quasi schnell 'vorzuspulen', wenn viele
- Dateien gefunden werden, die einen eigentlich gar nicht interessieren.
- Dies läßt sich auch per Tastatur (Alt-W) erreichen, wobei dabei der
- 'Nachlauf' von Tastatur-Events unterdrückt wird!
-
- - Wenn angeschaltet, können Freedom und seine Alertboxen vollständig im
- Hintergrund bedient werden, ohne das die rechte Maustaste dabei
- gedrücktgehalten werden muss. Wollen Sie trotzdem einmal ein Fenster von
- Freedom in den Vordergrund holen, brauchen Sie nicht unbedingt auf die
- Fenstertitelzeile klicken: Ein kurzer Klick auf irgendeine
- "funktionslose" Stelle im Dialog hat dieselbe Wirkung!
-
-
- 5. KurzÜberblick über alle Tastenkombinationen von Freedom
- ==========================================================
-
- ^ bedeutet "zusammen mit Control"
- + bedeutet "zusammen mit Shift"
-
- Alt A-Z: Laufwerk umschalten
- ^BS,
- ^Undo: Eine Direktory-Ebene zurück
- ^A: Alles Selektieren
- +^A: Selektion Invertieren
- ^D: Selektierte Dateien löschen
- ^N: Neues Objekt
- ^I: Objekt-Information
- +^I: Dateien-Zählung bzw. Laufwerks-Infomation
- ^B: Touch
- Tab: Objekt-Information ODER Autolocator (Wenn '#SHELLTAB' gesetzt)
- ^Tab: einmaliger Autolocator (zyklisch, Ordner und Files)
- +^Tab: einmaliger Autolocator (zyklisch, nur Files)
- ^F: An aktuellen Filselektor gebundenen Suchdialog öffnen (F wie finde)
- +^F: Ungebundenen Suchdialog öffnen
- ^C: Momentanen Status ins Klemmbrett sichern
- ^X: Dateien auf dem klemmbrett sichern (mit Verschiebe-Markierung)
- ^V: Dateien aus dem Klemmbrett kopieren/verschieben
- +^V: Status aus dem Klemmbrett wiederherstellen
- +^C: Dateiliste nach Formatstring #NICEFORMAT ins Klemmbrett
- ^H, Sortierung nach Namen (H wie Selectric ;-))
- ^Z, " " Datum (Z wie Zeit)
- ^G, " " Größe
- ^T, " " Endung (T wie Typ)
- ^K, unsortiert (K wie Keine)
- ^R: Sortierrichtung umkehren (R wie Richtung)
- +^S: Dateien deselektieren nach Maske
- ^S: Dateien selektieren nach Maske
- ^E: Neue Maske eingeben (E wie Extension)
- ^Y: Popup der vorhandenen Ext. öffnen (Y wie schön nah an Control ;-))
- ^P: Pfad-Popup öffnen
- ^J: Sortierungs-Popup öffnen (J wie keine andere Taste mehr übrig)
- +^X: Popup der User-Extensions öffnen (X wie eXtension)
- ^M: Datei-Popup (gefiltert) öffnen
- +^M: Datei-Popup (ungefiltert) öffnen
- ^<: History-Popup (gefiltert) öffnen
- +^<: History-Popup (ungefiltert) öffnen
- ^L: Drive-Popup öffnen (L wie Laufwerk)
- ^W: Fenster wechseln
- +^W: Fenster rückwärts wechseln
- Alt ^W: Globaler Fensterwechsel (nur mit AV-Server)
- ^Return,
- ^O: Selektiertes Objekt öffnen
- ^1-0: 1 bis 10 Verzeichnisebenen zurückgehen
- Alt Esc: Den geklemmten Pfad auswählen
- Alt 1-0: Einen der ersten 10 Benutzer-Pfade auswahlen
- +Alt 1-0: Benutzer-Pfad 11..20 auswählen
- ^TB-.: Die geklemmte Extension auswählen
- ^TB-1-0: Eine der ersten 10 Benutzer-Extensions wählen
- +^TB-1-0: Benutzer-Extension 11..20 auswählen
- ^TB-*: *.* als Extension wählen
- TB +: Entspricht: Crs-Dn+Klick auf 'Ok'
- TB -: Entspricht: Crs-Up+Klick auf 'Ok'
- +Esc,
- ^Esc: Verzeichnis neu einlesen
- Esc: Editfeld löschen
- Return,
- Enter: Bedient "Ok" (Wenn ein Ordner selektiert ist, wird er geöffnet)
- +Return,
- +Enter: Bedient "Ok", deselektiert vorher alle Dateien, so das ggf. der
- im Editfeld eingegebene Name zum Zuge kommt
- ^Q,^U,
- Undo: Bedient "Abbruch"
- Help: Freedom-Info
- +Help,
- ^Help: Neuen (nicht applikationsgebundenen) Fileselektor aufmachen
- Alt-^Space: aktuellen Fileselektor/Alert (de-)iconifizieren
- ^Up,^Dn: Scrollpfeile bedienen
- Up,Dn: Aktuell selektierte Datei wie einen Cursor bewegen
- +Up,+Dn: Aktuell selektierte Datei wie einen Cursor seitenweise bewegen
- ClrHome: Ersten Eintrag im aktuellen Verzeichnis selektieren
- +ClrHome: Letzten Eintrag im aktuellen Verzeichnis selektieren
-
- Die Funktionstasten F1..F10, Shift-F1..F10 (F11..F20) sind nun frei belegbar.
-
-
- 6. Nebenläufigkeit
- ==================
-
- Seit der Version 1.13 ist Freedom komplett nebenläufig. Genau wie in einem
- kooperativen Betriebssystem "dispatcht" (also verteilt) Freedom intern die
- Rechenzeit zwischen verschiedenen, gleichzeitig laufenden Aufgaben, und
- gibt dabei natürlich auch regelmäßig Rechenzeit an das System ab. Dadurch
- können sie nicht nur auch unter normalen (kooperativen) TOS-Versionen
- weiterarbeiten, während Freedom Dateien sucht bzw. zählt oder gerade ein
- sehr langes Verzeichnis einließt, sondern sie können sogar _innerhalb_ von
- Freedom weiterarbeiten! Jede Aktion, die sie in Freedom anwerfen (Suchen,
- löschen, Touch, Dateien zählen, Verzeichniss einlesen, Kopieren und
- Verschieben) wird durch Freedom als extra Aufgabe (Task) verwaltet. Sie
- können beliebig viele dieser Aufgaben anwerfen, sie laufen alle parallel
- ab, und sogar im Hintergrund weiter, wenn sie ein Popup geöffnet haben
- bzw. gerade ein Fenster oder einen Dialog verschieben! Beim nebenläufigen
- Kopieren und Verschieben kann man leider aufgrund des langsamen GEMDOS nur
- auf schnellen Rechnern mit schneller Platte einigermaßen angenehm innerhalb
- von Freedom weiterarbeiten, während er ackert...
-
- Aus Gründen der Übersichtlichkeit können Sie pro Fileselektor nur einen an
- diesen gebundenen Such-Dialog öffnen. Durch Rechtsklick auf das Such-Icon
- bzw. durch Shift-Control-F lassen sich jedoch weitere ungebundene
- Such-Dialoge öffnen, falls sie weitere Suchvorgänge parallel starten
- wollen (Der Kopf ihrer Platte will beschäftigt werden! ;->). Die
- Aktionen Datei-Zählung, Laufwerks-Information, Löschen, Touch und
- Datei-Info lassen sich beliebig oft anwerfen! (Wenn Sie die übersicht
- behalten! ;-))
-
- Die Dialoge "Neue Maske eingeben", "Dateien selektieren" und "Dateien
- deselektieren" lassen sich (natürlich) nur einmal, gebunden an einen
- Fileselektor, öffnen und werden mit dem Schließen desselben ebenfalls
- geschlossen.
-
-
- 7. Drag n' Drop
- ===============
-
- Freedom kann nicht nur per Drag&Drop Dateien an andere Applikationen
- weitergeben, sondern auch selbst welche Empfangen (MTOS und AV-D&D).
-
- Allgemein bedeutet dabei:
-
- - Ein Drag mit Shift, das der Ziel-Fileselektor sich schließen und die
- 'abgeworfenen' Dateien der aufrufenden Applikation weitergeben soll
- (Wer die Shift-Taste nicht drücken will, muß die Dateien direkt auf das
- Eingabefeld ("Datei:") des entsprechenden Fileselektors ziehen.)
-
- - Ein Drag ohne Umschalttasten: Kopieren (wenn möglich).
-
- - Ein Drag mit Control-Taste: Verschieben (wenn möglich).
-
- - Eine zusätzlich gedrücktes Alt-Taste beim Kopieren/Verschieben:
- Objekte vorher umbennen
-
- - Drag auf die Icons: Je nach Icon (o: BTW: Freedoms Icons (Löschen, Info
- usw.) können nun auch von "außerhalb" benutzt werden (einfach mal was
- draufdraggen)
-
- Die Vorgehensweise
-
- Ziehen Sie Dateien auf eine andere, nicht blockierte Applikation, so
- fragt Freedom zuallererst beim AV-Server nach, ob dem die Applikation
- bekannt ist, und übergibt dann die Dateien ggf. über den Umweg AV-Server.
- Ist kein AV-Server da oder dem die Appl. unbekannt, wird (als letzter
- Versuch) ein VA_START an den Besitzer des Fensters (wenn nicht
- ermittelbar, an die Appl. 0) versendet. Einige Programme sind fähig, Daten
- auch über das MTOS-Drag&Drop (über Pipes) zu empfangen (zB GemView). Sie
- können diese Programm in die Freedom-Konfigurationsdatei eintragen.
- Freedom könnte immer erstmal das MTOS-Drag&Drop probieren, dann müßte der
- Benutzer aber bei den meisten Programmen eine Wartezeit von einigen
- Sekunden ertragen.
-
-
- Neu: Auch das Draggen auf das Pfad-Objekt des Fileselektors ist jetzt mit
- einer Bedeutung belegt: Objekt(e) selektieren. Es enspricht dem Draggen
- von Objekten auf das Eingabefeld, mit dem Unterschied, das der
- Fileselektor nicht geschlossen wird.
-
-
- 8. Das Dateityp-Konzept
- =======================
-
- Konnte man in alten Freedom-Versionen einem bestimmten Dateityp nur ein
- Bildchen zuordnen, so ist ab der V1.14 noch folgendes weitere
- Dateityp-abhängig konfigurierbar:
-
- - eine Typbezeichnung
- - Eine Sortierpriorität
- - Vorder- und Hintergrundfarben im de- und selektierten Zustand
-
- Eine Zeile aus der Konfigurationsdatei (#FILETYPES) als Beispiel:
-
- Program 19 1 0 1 1 0 *.PRG,*.TOS,*.ACC,*.TTP,*.GTP,*.APP
- | | | | | | | |
- | | | | | | | +--Maske für diesen Dateityp
- | | | | | | +-------Textfarbe (Selektiert)
- | | | | | +---------Hintergrund (Selektiert)
- | | | | +-----------Textfarbe (Deselektiert)
- | | | +-------------Hintergrund (Deselektiert)
- | | +----------------Nummer des zugehörigen Images
- | +----------------------Sortierpriorität
- +-----------------------------Typname (sinnvoll sind kürzere
- Bezeichnungen (siehe Desktop Thing)
-
- Der Typname läßt sich per Formatstring (%X) auch in das Verzeichnisfenster
- einblenden und taucht ausserdem in einem neuen Popup auf. Im Sortierpopup
- läßt sich nun zusätzlich die (natürlich langsamere) Typsortierung
- aktivieren. Ist sie aktiviert, wird der Dateityp von Freedom als primäres
- Sortierattribut verwendet. Erst, wenn zwei Dateien denselben Typ haben,
- werden sie nach dem aktuellen sekundären Attribut (Name, Datum, Größe,
- Endung) geordnet. Auch die Reihenfolge, in der die Dateitypen in der
- Konfigurationsdatei stehen, hat (wie bei vorherigen Freedom-Versionen)
- eine Bedeutung: In genau dieser Reihenfolge wird versucht, den passenden
- Typ zu ermitteln. Die allgemeineren Masken sollten also weiter hinten
- stehen. Steht beim ersten Dateityp als Maske gleich eine "*.*", so liegen
- die anderen Dateitypen natürlich brach!!
-
-
- 9. Konfiguration
- ================
-
- Freedom läßt sich in weiten Grenzen konfigurieren.
- Beeinflussen können Sie neben vielen Unwichtigkeiten folgendes:
-
- - Font, Größe, Farben und Zeilenabstand im Fileselektor
- - Position des Scrollbars (links/rechts) im Fileselektor
- - diverse Verzögerungszeiten
- - Je einen Formatstring für 8.3- und lange Dateinamen
- - Ob Groß- oder Kleinbuchstaben verwendet werden sollen
- - Ob der Autolocator aktiv ist und ob er auch Ordner matcht
- - Ob in Alertboxen alle Knöpfe gleich breit sein sollen
- - Wo der Kobold liegt (Environment-Var wird auch gecheckt)
- - Wie der Viewer heißt
- - Wie Parafin heißt ;-)
- - Wie die Funktionstasten belegt sind
- - Welche Dateien als Programmdateien interpretiert werden
- - Ob Ordner erst auf Doppelklick öffnen
- - Ob der Rechtsklick ins Filefenster scrollt (wie bei Thing)
- oder (wie überall sonst) einem Doppelklick entspricht
- - Ob Hintergrundbedienung von Fensterdialogen aktiv ist
- - Ob der Fileselektor in Mausnähe geöffnet wird
- - Anzahl der Zeilen/Spalten des Fileselektors
- - Bis zu 40 voreinstellbare Files
- - Bis zu 40 voreinstellbare Pfade
- - Bis zu 40 voreinstellbare Extensions
- - Der Pfad, wo die Images (FREEDMxx.IMG) gesucht wird
- - Gültigkeitsmasken für die Images
- - Applikationen, bei denen Freedom modal kommen soll
- - Max. 16 Applikationen, bei denen Freedom garnich kommen soll
- - Max. 64 Applikationen, bei denen Freedom den VA_START-Trick oder den
- Menubar-Trick anwenden soll
- - Ob Freedom auch Alertboxen in Fenster legt
-
- Diese Parameter können (immer noch) nur direkt in der Konfigurations-
- datei unter Zuhilfename eines Texteditors verändert werden. Diese Datei ist
- aber ausführlich kommentiert, also keine Panik. In einer nächsten Version
- wird es ein Setup-Programm geben, mit dem diese Datei komfortabel
- modifiziert werden kann. Bestimmte Parameter werden sich auch zur Laufzeit
- von Freedom noch veränderen lassen.
-
- Freedom sucht beim Start die Konfigurationsdatei zuerst unter einem Namen,
- den er aus der aktuellen Auflösung zusammensetzt (genau, wie die Shell
- Gemini) bei 640x400 zB '06400400.CNF', bei 1280x960 dann '12800960.CNF'.
- Wird eine solche Datei nicht gefunden, wird noch 'FREEDOM.CNF' versucht,
- ansonsten werden die Standardeinstellungen verwendet. Freedom sucht die
- Konfigurationsdateien mit shel_find(), was schlicht und einfach bedeutet,
- das es die Suche den AES überläßt. Letzteres sucht in der aktuellen
- Direktory und allen Direktorys, die in der Environmentvariable $PATH
- stehen.
- Mittels des Imagepfades ('#IMAGEPATH') in der Konfigurationsdatei kann man
- auch für jede Auflösung und Farbtiefe unterschiedliche Imagedateien laden
- bzw. mittels der Fonteinstellung via #FONTID etc. verschiedene
- Zeichensätze für unterschiedliche Auflösungen bestimmen.
-
-
- Ein Beispiel:
- -------------
- akt. Ordner in dem sich auch Freedom befindet:
-
- 03200200.CNF
- hat Eintrag mit: #IMAGEPATH C:\FREEDOM\FDIMG\SMALL\
- 06400400.CNF
- hat Eintrag mit: #IMAGEPATH C:\FREEDOM\FDIMG\NORMAL\
-
-
- Dann werden die Icons bei 320x200 Pixel in "C:\FREEDOM\FDIMG\SMALL\"
- gesucht. Abhängig von der aktuellen Farbtiefe wird dann dort bei 16 Farben
- die Imagedatei 'FREEDM04.IMG' geladen (siehe auch unten). Bei 640x400
- Pixeln in 256 Farben würde aus "C:\FREEDOM\FDIMG\NORMAL\" die Datei
- 'FREEDM08.IMG' als Icon-Satz geladen werden.
-
- WICHTIGE NEUERUNG DER VERSION 1.14 !!!!!
- Ein neues Token '#IMAGES' legt fest, als aus wieviel Einzel-Images
- bestehend die Imagedatei interpretiert werden soll (was für ein Satz ;-))
- Wird kein solches Token in der Konfigurationsdatei gefunden, so wird
- garnicht versucht, einen Imagesatz zu laden, sondern gleich der Standard-
- satz (bestehend aus einem Ordner-Image ;-)) benutzt. Wird #IMAGES dagegen
- explizit auf 0 gesetzt, werden gar keine Images vor dem Text dargestellt.
- Erst ein positiver Wert veranlaßt Freedom zu dem Versuch, eine Imagedatei
- zu laden. Schlägt das dann fehl, werden ebenfalls keine Images dargestellt.
-
- Einige allgemeine Anmerkungen zum Aufbau der Konfigurationsdatei:
- Freedom ließt die Konfigurationsdatei zeilenweise. Zeilen, die mit einem
- Semikolon (;) beginnen, werden ignoriert. In allen anderen Zeilen wird
- versucht, eines der Schlüsselwörter (z.B. '#AUTOLOCATE') zu erkennen, die
- alle mit einem Doppelkreuz (#) beginnen. Wird kein Schlüsselwort erkannt,
- wird die Zeile als zum letzen eingelesenen Schlüsselwort zugehörig
- angenommen. Bei einigen Optionen wird davon auch Gebrauch gemacht, etwa
- bei '#PATHS', wo bis zu 40 Zeilen mit weiteren Pfaden folgen können.
- Genauere Informationen zu den einzelnen Optionen finden sich in der
- mitgelieferten Beispiel-Konfigurations-Datei, mit der Sie jetzt gleich mal
- ihrem Lieblings-Texteditor füttern sollten (Vorher eine Sicherheitskopie
- machen!)
-
-
- 9.0 Die Imagedateien
-
- Freedom versucht, nachdem es die Konfigurationsdatei eingelesen hat, auf
- dem in der Datei angegeben Pfad eine Datei 'FREEDMxx.IMG' wobei für xx die
- aktuelle Anzahl von Planes des Screens eingesetzt wird, also bei einer
- monochromen Auflösung FREEDM01.IMG, bei 4 Farben 02, bei 16 Farben 04 usw.
- zu laden. Wurde diese Datei gefunden und handelt es sich um ein XIMG mit
- genau der angegebenen Anzahl Planes, wird die Datei eingelesen.
- Anschließend wird das Image in der Breite durch durch die in der
- Konfigdatei angegebene Imageanzahl (#IMAGES) in lauter einzelne Bildchen
- geteilt. Ist beispielsweise das Images 64 pixel breit und 16 hoch, und
- #IMAGES 4, so wird es in vier Teile, je 16x16 Pixel gross, aufgeteilt.
- Die Images aus dieser Datei können später einzelnen Datei-Typen (siehe
- Kapitel "Typkonzept") zugeordnet werden.
-
-
- 9.1 Der Format-String
- Freedom erlaubt Ihnen, die Daten in dem Fileselektor-Fenster auf fast
- beliebige Weise zu formatieren. Ausserdem kann jeweils für normale
- 8.3-Filesysteme und Filesysteme mit langen Dateinamen ein verschiedener
- Formatstring angegeben werden. Es handelt es sich dabei einfach nur um
- eine Aneinanderreihung von Zeichen, wobei dem '%' (Prozent) eine
- Spezialbedeutung zukommt. Am einfachsten geht's mit einem Beispiel:
-
- Sie möchen, das die Dateien in einer Zeile wie folgt formatiert werden:
-
- :
- EVEREST PRG 154.510 29.10.94 09:41
- EVEREST INF 840 09.01.95 11:36
- :
-
- Also erst der Name, dann die Endung, dann die Größe (mit max. 9 Ziffern),
- dann das Datum und schließlich die Uhrzeit ohne Sekunden. Der Formatstring
- dafür könnte etwa wie folgt aussehen:
-
- #FORMAT %-F %-E%9P %2D.%2M.%2Y %T%h:%m
-
- Die Stellen, an denen ein '%' steht, weisen Freedom an, eine ganz
- bestimmtes Attribut (Name, Größe, Stunde, Minute usw.) der gerade
- formatierten Datei an genau dieser Stelle einzusetzen. Welches Attribut
- das ist, bestimmt Freedom aus den auf das '%'-Zeichen folgenden Zeichen.
- Zur Auswahl stehen:
-
- 'F': Dateiname bis zum letzen Punkt (also ohne Endung)
- 'E': Dateiname ab dem letzten Punkt (also die Endung)
- 'N': Voller Dateiname (unformatiert)
- 'D': Tag (1..31)
- 'M': Monat (1..12)
- 'Y': Jahreszahl (ohne Jahrhundert, 00..99)
- 'h': Stunden
- 'm': Minuten
- 's': Sekunden
- 'S': Größe (in Bytes) der Datei ("1345678"), bei Ordnern nichts
- 'P': 'Punktierte' Größe der Datei ("1.345.678"), bei Ordnern nichts
- 'K': Größe (in Bytes) der Datei ("1345678"), bei Ordnern '<Ordner>'
- 'T': Das Uhrensymbol, wenn die Datei tagesaktuell ist, sonst nichts
- 'A[xx]': Attribut-Bit des Files, default-Zeichen: [-a]
- 'W[xx]': Schreibgeschützt-Status eines Files, default-Zeichen: [-r]
- 'H[xx]': Versteckt-Bit des Files, default-Zeichen: [-h]
- 'Z[xx]': System-Bit des Files, default-Zeichen: [-s]
- 'X': Typname
- 'a': Beliebiges ASCII-Zeichen (zB %13a für CR oder %10a für LF)
- '%': Das Prozentzeichen
-
- Tabulatoren (als Pseudo-Attribute):
- 'L': linksbündiger Tabulator (zeichenweise)
- 'C': zentrierter Tabulator (zeichenweise)
- 'R': rechtsbündiger Tabulator (zeichenweise)
- 'l': linksbündiger Tabulator (pixelweise)
- 'c': zentrierter Tabulator (pixelweise)
- 'r': rechtsbündiger Tabulator (pixelweise)
-
- (Liste ist für Erweiterungsvorschläge offen)
-
- Das jeweilige Attribut wird von Freedom auf eine Defaultbreite formatiert.
- Möchten Sie das Attribut lieber breiter oder schmaler, können Sie die
- gewünschte Breite als Wert zwischen dem '%' und dem Attributbuchstaben
- eintragen. Freedom formatiert Attribute, die schmaler als die angegebene
- Breite sind, rechtsbündig. Möchten Sie ein Attribut lieber linksbündig
- formatiert haben, dann platzieren Sie ein '-' (Minus) direkt hinter das
- '%' Symbol des Attributes (siehe auch die noch folgenden Beispiele).
-
- Auf einem Filesystem mit langen Dateinamen ist die Aufsplittung eines
- Dateinamens in Prefix und Endung nicht mehr so sinnvoll, hier bietet sich
- etwa folgender Formatstring an:
-
- #LONGFORMAT %-20N%9P %2D.%2M.%2Y
-
- der als Ergebnis die folgende Ausgabe liefert:
- :
- EVEREST.PRG 154.510 29.10.94
- EVEREST.INF 840 09.01.95
- :
-
- welche etwas mehr Platz auch für längere Dateinamen läßt.
-
-
- Proportionale Fonts
-
- Die Verwendung eines proportionalen Zeichensatzes in Freedom macht nur im
- Zusammenspiel mit Freedom's Tabulatoren (%L,%C,%R,%l,%c,%r) Sinn. Eigens
- für die Tabulatoren merkt sich Freedom beim Parsen des Formatstrings einen
- horizontalen "Cursor". Ein Tabulator in einem Formatstring bewirkt dabei
- folgendes: Der Tabulator-Cursor wird um die Breite des Tabulator-
- Attributes nach rechts bewegt und dann der Text und die weiteren
- "normalen" Attribute hinter diese Tabulator entsprechend der Ausrichtung
- dieses Tabulators um diese Cursorposition herum formatiert. %l oder %L
- bewirken eine linksbündige Ausgabe rechts von der Cursorposition, %c und
- %C bewirken eine zentrierte Ausgabe, wobei die Cursorposition in der Mitte
- liegt und schließlich %r bzw. %R bewirken eine rechtsbündige Ausgabe links
- vom Cursor. Ein Tabulator formatiert alle Attribute, die nach ihm kommen,
- bis zum nächsten Tabulator bzw. bis zum Ende des Formatstrings, als einen
- String. Der Offset-Wert jedes weiteren Tabulators wird auf die aktuelle
- Tabulator-Cursor-Position aufaddiert, der Wert ist also immer relativ zum
- vorherigen Tabulator. Negative Tabulatoren sind erlaubt und Text darf auch
- mehrfach übereinander ausgegeben werden, die Ausgabe erfolgt dann
- transparent. Ist kein Tabulator aktiv, haben alle Attribute (wie bisher)
- eine Default-Breite, bis zu der durch Einfügen von Leerzeichen links oder
- rechts des Attributes aufgefüllt wird. Dies ist bei proportionalen Fonts
- nicht sinnvoll, weshalb bei aktivem Tabulator die Attribute defaultmäßig
- alle ohne Leerzeichen ausgegeben werden (Die Formatierung soll ja durch
- den Tabulator erledigt werden). Deshalb sollte gleich das erste "Attribut"
- in einem Formatstring für proportionale Fonts ein Tabulator sein. Ein
- (häßliches) Beispiel:
-
- %12R%N%6C%P%6L%2D.%2M.%2Y %T%h:%m
-
- das Teilstück "%N" des Formatstrings wird auf 12 Zeichenbreiten
- rechtsbündig formatiert. Der Cursor steht dannach 12 Zeichenbreiten vom
- linken Rand entfernt. Jetzt kommt ein Zentrier-Tabulator, der den Cursor
- zuerst um weitere 4 Zeichen nach rechts bewegt, um dann das Teilstück "%P"
- zentriert um diesen Cursor auszugeben. Schließlich kommt ein linksbündiger
- Tabulator, der den Cursur um 6 Zeichenbreiten bewegt, um dann rechts davon
- den Rest des Formatstrings ("%2D.%2M.%2Y %T%h:%m") auszugeben.
-
-
- 9.2 Der VA_START Trick
- Einige Programme, vor allem solche, die Dateien nur anzeigen, können von
- Freedom ausgetrickst werden, und während der Fileselektion sogar
- weiterlaufen! Die Idee ist sehr einfach: Dem Programm wird beim Aufruf des
- Fileselektors vorgegaukelt, der Benutzter hätte sofort 'Abbruch' gedrückt
- (das Programm läuft also gleich weiter), in Wirklichkeit ist der
- Fileselektor aber noch da, und wenn der Benutzer dann Dateien auswählt,
- werden diese dem Programm einfach per VA_START 'nachgereicht'. Einige
- Programme, mit denen das klappt, stehen sogar schon in Freedoms
- Konfigurationsdatei. Viele Programme machen allerdings Probleme, wenn sie
- über VA_START Dateien geliefert bekommen, die nicht existieren, etwa
- solche, die der Benutzer gerade neu erzeugen will.. Eine rühmliche
- Ausnahme ist der Texteditor Evererst, dem so gut wie alles per VA_START
- senden kann. (o: Ein Nachteil der VA_START-Methode ist, das die
- Applikation den veränderten Verzeichnispfad nicht mitbekommt und deshalb
- beim nächsten Öffnen eines Fileselektors wieder den alten Pfad übergibt.
- Wenn eine Applikation aber sowieso VA_START versteht und sie genug Platz
- auf dem Screen haben, so behalten sie doch einfach immer einen
- Freedom-Fileselektor offen. Aus ihm können Sie dann jederzeit Dateien auf
- Fenster einer VA_START verstehenden Applikation draggen.
-
-
- Der Aufbau einer #VA_START Zeile aus der Konfigdatei:
-
- PAULA Load MODfile
- | |
- | +--Fileselektortitel, mit dem Freedom vergleichen soll
- +---------AES-Programmname
-
-
- 9.3 Der Menubar Trick
- Und schon wieder ein neuer Trick: Applikationen, bei denen ein
- Fileselektor-Aufruf direkt mit einem Menü-Eintrag verbunden ist, können in
- einer neuen Liste in der Konfigdatei (#MENUBAR) für eine uneingeschränkt
- nonmodale _Mehrfach_selektion eingetragen werden. Dieses Verfahren hat
- gegenüber dem vorher beschriebenen VA_START-Trick den Vorteil, das die
- Applikation auch das neue Verzeichnis und die neue Extension mitbekommt.
- Die Nummern der Menueinträge können mit dem beiliegendem Programm
- MENU_ID.APP ermittelt werden. Wie bei der VA_START Methode kehrt der
- Fileselektor beim ersten Aufruf mit Abbruch zurück, und liefert die Files
- nachträglich aus. Dazu wird der betreffenden Applikation eine MN_SELECTED
- Nachricht gesendet (und damit die Anwahl eine Menüpunktes simuliert), auf
- die das Programm dann fsel_[ex]input aufruft. Statt jetzt einen neuen
- Fileselektor zu öffnen, wird einfach eins der selektierten Files
- zurückgegeben und ggf. erneut MN_SELECTED verschickt. Fertig ist die
- Mehrfachselektion. Auch dieses Verfahren klappt nicht immer, es gibt
- Programme ohne Menüzeile und solche, die den Fileselektor aus Dialogen
- aufrufen. Wir raten ausserdem davon ab, Fileselektoraufrufe der Form
- "Speichern als..." hier einzutragen. Dieses Verfahren beinhaltet (noch?)
- kein Gedächtnis, welches Applikationsfenster zum Zeitpunkt des
- Fsel-Aufrufs das oberste war. Genau das wird aber bei "Speichern als..."
- im Normalfall gesichert!! Sinnvoll sind also in dieser Liste nur
- vollkommen kontextunabhängige Fileselektor-Aufrufe!
-
- Der Aufbau einer #MENUBAR Zeile aus der Konfigdatei:
-
- PC 8 76 Select Project...
- | | | |
- | | | +--Fileselektortitel, mit dem Freedom vergleichen soll
- | | +--------Objektnummer des zugehörigen Menueintrages (item)
- | +----------Objektnummer des zugehörigen Menutitels (title)
- +-------------AES-Programmname (hier Pure C)
-
- Die Werte von title und item können mit dem (Schweine- ;-))Programm
- MENU_ID.APP (installierbar auch als ACC) einmalig ermittelt werden. Das
- Programm ist nur zum Konfigurieren gedacht, und kann (und sollte) danach
- wieder terminiert/entfernt werden. Da es auf die Menubars anderer
- Programme zugreift, läuft es (im Gegensatz zu Freedom selbst) nicht unter
- protected MiNT. Natürlich ist auch die VDI-Ausgabe oben in der Ecke
- unschön, aber wie gesagt, man muß das Programm ja nicht dauerhaft
- installiert haben. Beachten Sie außerdem, das sich bei einer neuen Version
- einer Applikation die Menüpunkte verschieben könnten (sich also der Wert
- von "item" und sogar der von "title" ändern könnten) und Sie deshalb ihre
- Freedom-Konfiguration uU updaten müssen.
-
- Wir haben den Trick schon mit einer ganzen Menge Programmen ausprobiert.
- Als prinzipieller Schwachpunkt stellte sich heraus, daß Freedom sich
- darauf verlassen muß, daß die versendete MN_SELECTED Nachricht auch
- wirklich vom Programm ausgewertet und mit einem fsel_[ex]input-Call
- beantwortet wird (nur so kann das nächste File ausgeliefert werden). Nun
- kann es vorkommen, das die Applikation das Auswählen des betreffenden
- Menüpunktes genau zu diesem Zeitpunkt nicht zuläßt, etwa, weil es gerade
- noch das vorherige File einließt, und deshalb das MN_SELECTED leider
- verwirft. Bei dem Programm Everest genügte es, eine Wartezeit von 0.5sec
- vor dem Versenden des nächsten MN_SELECTED in Freedom zu integrieren, bei
- Pure C funktioniert es (zu unserer Freude ;-)) an sich immer, bei einigen
- anderen Programmen wiederum gar nicht. Freedom wartet nach dem versenden
- des MN_SELECTED 10sec, bevor es ggf. noch nicht "abgeholte" Dateien
- freigibt. Sollte die Applikation das MN_SELECTED geschluckt haben, und der
- Benutzer wählt manuell den betreffenen Menüpunkt noch innerhalb der 10sec
- an, erscheint deshalb natürlich kein Fileselektor, sondern die weiteren
- Files werden so eins nach dem anderen ausgeliefert (also nicht wundern).
- Nach Ablauf der 10sec. erscheint bei Anwahl des Menütitels dann wieder der
- Fileselektor.
-
- In folgenden Fällen läßt sich das Verfahren leider gar nicht oder nur
- sehr schlecht anwenden:
-
- - Applikation hat keine Menüzeile
-
- - Die Applikation benutzt fsel_input statt fsel_exinput, mit dem Erfolg,
- das der Fileselektor keinen Titel hat (Defaulttitel "Datei auswählen..."
- kommt) und damit keine Unterscheidungsmöglichkeit zu möglichen anderen
- Fileselektoraufrufen desselben Programmes besteht (Bsp. SCOOTER), es sei
- denn, das Programm ruft nur an einer einzigen Stelle einen Fileselektor
- auf.
-
- - Die Applikation benutzt fsel_exinput, übergibt aber schwachsinnigerweise
- bei unterschiedlichen Fileselektoraufrufen denselben Titel. Es gilt
- dasselbe wie oben (keine Unterscheidungsmöglichkeit)
-
- - Die Applikation öffnet bei Anwahl des betreffenden Menüpunktes erstmal
- bzw nach Einlesen der Datei nochmal einen Dialog, um irgendwas vom
- Benutzer zu erfragen (wenn sie den schnell genug wegklicken, gehts
- vielleicht..)
-
-
-
- 9.4 Funktionstastenbelegung
- Neu seit Freedom 1.11: Die Funktionstasten lassen sich nun vollkommen frei
- belegen! Dazu gibt es in der Konfigurationsdatei eine Option #FKTKEYS.
- Dahinter wird eine Zeichenkette erwartet, in der die Zeichen von links
- nach rechts gelesen die Belegung der Funktionstasten F1 bis F20 (F11 =
- Shift-F1) mit einer Auswahl aus Freedom's Funktionen bestimmen. Beispiel:
- 'A-JKDEFGIH' belegt F1 mit der Funktion A (siehe Liste unten), läßt F2
- unbelegt, belegt F3 mit Fkt. J usw. Alle unbelegten Funktionstasten werden
- an den AV-Server durchgereicht und können dort dann zB Beispiel das
- Starten von Programmen usw auslösen. Speziell für Gemini 1.a Benutzer gibt
- es (auch neu) eine Option #NOSENDKEY, durch welche Freedom das Weitergeben
- von unbelegten Tastendrücken an den AV-Server generell verboten werden
- kann. Hier nun die möglichen Funktionsbuchstaben:
-
- A = Laufwerks-Popup
- B = Datei-Popup (gefiltert mit akt. Maske)
- C = Extension-Popup
- D = Sortierungs-Popup
- E = Pfad-Popup
- F = Mögliche Extensions-Popup
- G = Selektieren nach Maske
- H = Deselektieren nach Maske
- I = Neue Maske eingeben
- J = Objekt suchen (an Selektor gebunden)
- K = Neues Objekt erzeugen
- L = momentanen Zustand ins Klemmbrett sichern
- M = Datei öffnen (anzeigen oder ausführen)
- N = Aktuelle Selektion rekursiv zählen
- O = History-Popup (gefiltert mit akt. Maske)
- P = rekursives Touch auslösen
- Q = Zustand aus dem Klemmbrett wiederherstellen
- R = Einzel-Info aller selek. Dateien
- S = Dateienzählung auf aktuellem Laufwerk
- T = Nicht an einem Selektor gebundener Suchdialog öffnen
- U = Dateiliste nach Formatstring #NICEFORMAT ins Klemmbrett
- V = Datei-Popup (ungefiltert)
- W = History-Popup (ungefiltert)
- X = Dateityp-Popup
- - = Keine Belegung (Weiterleiten an AV-Server)
-
-
- Zur Konfigurationsdatei noch eine Anmerkung: Alle Pfade und Masken, die
- Freedom einliest, werden sofort (je nach Einstellung durch '#LOWERCASE')
- (aus optischen Gründen) in Groß- bzw. Kleinbuchstaben gewandelt. (Ist das
- nicht gewünscht, bspw. weil ein Pfad auf ein casesensitives Filesystem
- weist), kann dem Pfad oder der Maske ein Ausrufezeichen ('!') vorange-
- stellt werden. Freedoms Expressionmatch-Routine unterscheidet allerdings
- nie zwischen Groß- und Kleinschreibung, auch nicht auf case-sensitiven
- Filesystemen.
-
-
- 10. Sie programmieren selbst?
- =============================
-
- Freedom kann direkt unterstützt werden. Genaueres dazu finden Sie in der
- beiliegenden Datei FDMPROTO.H, sowie SLECTRIC.H und BEISPIEL.C.
-
- Wichtig für Programmierer, die ihrere Programme noch weiterentwickeln und
- Konflikten mit Freedom (bzw. seinen Benutzern (o:) aus dem Weg gehen wollen:
- Ist der FSEL-Cookie installiert und die Versionsnummer >= 2.00, sollte der
- fsel_[ex]input Aufruf NICHT mit BEG/END_MCTRL geklammert werden, ansonsten
- IMMER! Mit BEG/END_UPDATE sollte sowieso IMMER geklammert werden!
-
-
- 11. Still to come
- =================
-
- - Umsetzung als eCPX unter dem erweiterten Kontrollfeld "Space" von
- Christian Grunenberg
- - Ein "Set" Feature. Bei beiden Tricks (VA_START/Menubar) und beim
- Freedom-Protokoll selbst ist es durchaus möglich, die Dateien zwar an
- das betreffene Programm auszuliefern, den Selektor aber für die Auswahl
- weiterer Dateien offen zu halten (eben ein Set)
- - Beim Konflikt-Dialog (Kopieren/Verschieben) ist es auch denkbar, ein
- Umbennen der Originaldatei zuzulassen
- - MTOS Path-Drag&Drop (für NEWDESK)
- - verbesserter Menubar-Trick
- - Ein Setup-Programm, mit dem die Freedom-Konfigurationsdatei komfortabel
- editiert werden kann
- - Signal- und AP_TERM-Auswertung im Trapper
-
-
- 12. Bekannte Einschränkungen
- ============================
-
- - Kein Aufruf aus TOS-Programmen. Prinzipiell geht das zwar, wenn
- dieselben im VT52/TOSWIN-Fenster laufen), dazu müßte allerdings das
- TOS-Programm vom residenten Teil kurzzeitig bei den AES (per appl_init)
- angemeldet werden, damit der Datenaustausch mit dem Fileselektor-Server,
- der ja über AES-Messages abläuft, funktioniert
-
- - Mit VRAM müssen die Programmflags 'lalt' und 'malt' gelöscht werden!
-
- - Das Zusammenwirken mit vielen "Schweineprogrammen" wurde noch nicht sehr
- intensiv getestet
-
- - Der Server verbraucht über 160kB Speicherplatz (Ihr wolltet das
- Kopieren/Verschieben!) . Es gibt aus unserer Sicht jedoch keine
- Alternative zur Benutzung von EnhancedGEM. Der Verlust vieler Features
- und eine um vieles längere Entwicklungsdauer wären die Folge.
-
- - Im MagiC-Singel-Mode wird der Freedom-Server gefreezed, was zur Folge
- hat, daß der residente Teil ihn nicht erreicht (Systemselektor kommt),
- bzw. einen zweiten nachstartet, wenn ihm ein Pfad in FFSEL.INF gegeben
- wurde. Ohne vernünftige MagiC-Doku wird sich an diesem Zustand nichts
- ändern...
-
- - Signale unter MiNT werden vom residenten Teil nicht ausgewertet =>
- mit jedem Prozess, den Sie mit offenem Fileselektor/Alert terminieren,
- (KILL/TERM) geht ihnen einer der 8 'Slots' im Traphandler verloren.
-
-
- 13. Problemkinder
- =================
-
- - Alte Versionen der CD-Tools, die bisher mit Freedom funktioniert haben,
- stürzen nun beim Aufruf von Dxreaddir durch Freedom ab! Abhilfe: Neuere
- Version besorgen. Das gilt für alle MetaDOS-Treiber, die mit dem neuen
- Freedom Probleme machen. Freedom ist nicht das einzige Programm, welches
- Dxreaddir benutzt, also dulden sie keinen Treiber, der kein Dxreaddir
- kann!!
-
- - Falcon TOSe haben ein "erweitertes" Dsetdrv(), das im Zusammenspiel mit
- Metados bis zur Version 2.5 dazu führen kann, das bei Programmen, die die
- Konstruktion Dsetdrv(Dgetdrv()) benutzen (wie Freedom oder Gemini), uU
- Laufwerke plötzlich verschwinden. Metados 2.6 sollte mit diesem Feature
- umgehen können.
-
- - MultiDialog. Gute Idee, dürftige Umsetzung. Dieses Programm sollte
- überhaupt nicht verwendet werden!
-
- - STZip (2.6) führt keine Redraws aus, wenn sein Fenster im Hintergrund
- liegt
-
- - Für das Menüzeilen-Disablen wird das Menü kurz ab- und wieder
- angemeldet, im Zusammenhang mit Let' em Fly's Nicelines gibt mit einigen
- Programmen das Problem, das sich Menüeinträge verschieben (Böööse!!).
- Daran ist Freedom nicht schuld, Letemfly eigentlich auch nicht.
- Übeltäter: Pixart (1.2), "Rastaman". Abhilfe: Nicelines abschalten oder
- Programme nicht benutzen..
-
- - Letemfly: Wenn sie es unbedingt installieren müssen, dann _nach_
- FFSEL.PRG, ansonsten kommt sich offensichtlich die Alertbehandlung
- beider Programme ins Gehege.
-
-
- 14. Fragen über Fragen
- ======================
-
- F: Warum ist Freedom aufeinmal 20kB größer?!
-
- A: Wie vorausgesagt, ist der Einbau des Kopierens/Verschiebens mit
- kompletter Fehler- und Konfliktbehandlung (Speichermäßig) etwas teuer
- (ca. 10kB) geworden. Ausserdem kommen noch der neue Menubar-Trick und
- das Typkonzept dazu. Trotzdem bedenke man folgendes: Dafür, das Freedom
- inzwischen schon fast die Funktionalität eines Desktops hat, ist er
- mehr als sparsam. Selbst MagXDesk ist ohne Fenster-Dialoge und Kobold-
- Unterstützung nur genauso groß. Von den anderen alternativen Desktops
- ganz zu schweigen (und jetzt sagt nicht, das wären alles nur die
- Farbicons! (o:) Außerdem: Mit welchem anderen Programm könnt Ihr
- weiterarbeiten, wenn es kopiert?
-
-
- F: Immer nach einer bestimmen Zeit erscheint Freedom bei mir aus allen
- Programmen nur noch modal, solange, bis ich den ACC-Eintrag anwähle. Es
- hängt wohl mit Papyrus zusammen.
-
- A: Offensichtlich wird hier von irgendeinem Programm ein form_dial gesetzt
- und nicht mehr zurückgenommen. Dadurch nimmt der Freedom-Trapper
- fehlerhafterweise an, es befände sich noch ein Dialog auf dem Screen.
- Als (unhandlichen) Workaround haben wir schon vor einiger Zeit
- eingebaut, das bei Anwahl des ACC-Eintrages von Freedom das interne
- form_dial Feld gelöscht wird. In Freedom 1.14 gibt es zusätzlich noch
- die Möglichkeit, die form_dial Abfrage im Trapper ganz auszuschalten
- (#NOFORMDIAL), mit dem Risiko, das Freedom bei bestimmten Programmen
- als Fenster über einem Dialog erscheint und Bildschirmmüll produziert.
- Zu Glück gibt es nur noch ganz wenige Programme, die ihre Dialoge
- mittels form_dial/form_do auf den Screen packen und dann aus diesen
- Dialogen auch noch einen Fileselektor aufrufen (Mir fällt grad nur noch
- GemView ein). Beim Thema Dialoge sollte man als Programmierer wirklich
- die Multitaskingfähigkeit höher werten als die lächerliche
- Platzersparnis, die man durch den Verzicht auf Fensterdialogroutinen
- erreicht (Zumal es letztere in Massen als Freeware gibt!)
- Zu Papyrus: Sollte Papyrus wirklich der Übertäter sein, so ist
- spätestens ab Papyrus 4.0 ja Schluss damit, da die Entwicklung auf
- eine vernünftige Dialoglib umgestellt wurde... (o:
-
-
- F: Örgs! Freedoms Radiobuttons sind ja jetzt unter monochrom achteckig!
-
- A: Chrisker hat bei dem Versuch, AES-Font-unabhängige runde Radiobuttons
- einzubauen, mehrere Stunden mit den VDI-Kreisen gekämpft. Man wird den
- Verdacht nicht los, das die Programmierer des VDI nichts von
- Algorithmen zum Kreisezeichnen wußten und stattdessen lieber auf die
- Random() zurückgegriffen haben.. )o: Der eigentliche Erfolg von
- Chriskers Mühen ist deshalb nur zu bewundern, wenn man Freedom unter
- >=16 Farben und einem 3D-AES startet. Die Achtecke sind bei kleinerem
- AES-Font jedoch nicht mehr von Kreisen bzw. Elipsen zu unterscheiden.
-
-
- F: Warum bei CPXen der Systemfileselektor?
-
- A: Das ist erstmal eine Sicherheitsmaßname, theoretisch könnte
- Freedom auch hier funktionieren, müßte dafür aber deutlich tiefer
- ins System einsteigen... Bis auf das das NVDI3 Font-CPX gibt es ja auch
- keinen Grund, sich diese Arbeit zu machen, zumal CPXe normalerweise
- keinen Fileselector aufrufen, sowieso zu klein, unhandlich und
- multitaskingfeindlich sind, ausserdem XControl unsauber programmiert
- ist, und... (Aber das würde jetzt zu weit führen.. ;-))
-
-
- F: Warum kommt bei bestimmten Programmen ohne ersichtlichen Grund
- der Systemfileselektor?
-
- A: 1. Das Programm macht AES-Aufrufe vor dem appl_init bzw. macht gar kein
- appl_init (Fachbegriff: "Schweineprogramm"..)
- 2. Bestimmte Programme machen AES-Aufrufe auf unsaubere Weise. Es wird
- bei einigen Aufrufen nicht dasselbe global-Feld im AES-Parameter-Block
- übergeben, das appl_init initialisiert hat. Oft liegt das daran, das
- die Programme mit einer GEM-Lib entwickelt sind, die für einige
- "neuere" AES-Funktionen (zB fsel_exinput) keine Bindings hat, so das
- der Programmierer sich eigene Bindings machen muss. In denen
- benutzt er dann ein anderes global-Feld als die Lib, oft sogar
- gezwungenermassen, wenn nämlich gar keine Möglichkeit besteht, an
- den GEMPARBLK der Lib zu kommen, weil die Lib in Pascal, Basic o.ae.
- geschrieben ist. Die GEM-Lib von Pure Pascal benutzt sogar von sich
- aus schon falsche global-Felder. Unter Pure C dagegen ist es sehr
- einfach, für eigene Bindings denselben GEMPARBLK wie die Lib zu
- verwenden.
- Unter MiNT macht das übergeben eines ungültigen global-Feldes sogar
- den AES selbst Probleme: In diesem Fall muß nämlich immer erst die
- MiNT-ID der Applikation in die Appl-ID gewandelt werden.
-
-
- Sobald Andreas den Zugriff auf bestimmte AES-interne Informationen von
- MagiC3 dokumentiert, wird sich dieses Problem dann (zumindest unter
- MagiC) erledigen.
-
-
- F: Freedom kommt ohne ersichtlichen Grund als modaler Dialog?!
-
- A: Freedom benutzt die MCTRL-Semaphore der AES zur Erkennung von
- fliegenden Dialogen, da es in dieseme Fall natürlich nicht als Fenster
- kommen darf .. Einige wenige Programme klammern auch den Fileselektor
- mit MCTRL (zB Gemini), so daß Freedom annehmen muß, der Fileselektor
- wurde aus einem fliegenden Dialog aufgerufen. Wenn dies bei einem
- Programm nie der Fall ist, können Sie es in die Ausnahmenliste
- ('#IGNOREMCTRL') in der Konfigurationsdatei eintragen, Kandidaten dafür
- sind zB Gemview, Imploid und Gemini, NICHT jedoch zB CAT und Maxidat,
- die beide den Fileselektor auch aus fliegenden Dialogen aufrufen.
- Für Programmierer nochmal die folgende Richtlinie:
- Ist der FSEL-Cookie installiert und die Versionsnummer >= 2.00, sollte
- der fsel_[ex]input Aufruf NICHT mit MCTRL geklammert werden, ansonsten
- IMMER! Mit UPDATE sollte sowieso IMMER geklammert werden!
-
- F: Wenn ich Freedom verschiebe, verschwinden urplötzlich die Fenster der
- aufrufenden Applikation, sind aber nach Schließen von Freedom alle
- wieder da?
-
- A: Es handelt sich um ein prizipielles Problem von Freedom. Da die
- aufrufende Applikation auf den Fileselektor wartet, ist niemand da, der
- ihre Fenster ggf. neuzeichnen kann. Um Bildschirm-Müll zu vermeiden,
- hat Freedom in allen vorherigen Versionen Fenster, für die es eine
- Redraw-Anforderung bekommt, mit dem "Freedom"-Logo gefüllt. Das ist
- vielfach auf Ablehnung gestoßen, außerdem ist es wenig sinnvoll, die zu
- diesem Zeitpunkt funktionslosen Fenster überhaupt auf dem Screen zu
- behalten. Der Benutzer kam nur in die "Versuchung", sie zu verschieben,
- um in darunterliegenden Fenstern etwas zu machen, und viele Programme
- kamen dannach nicht mit den geänderten Fensterpositionen klar. Das neue
- Verfahren umgeht alle diese Probleme. Es mag auf den ersten Blick noch
- ungewöhlicher sein als das alte, ist jedoch kompatibler und eleganter,
- und mit deutlich weniger Aufwand seitens Freedom verbunden.
-
- Für Programmierer: Das alte Verfahren hatte ein weiteres entscheidenes
- Problem: Freedom hat zwar nach dem Verschieben von Fenstern der
- Applikation ein WM_MOVED, gefolgt von einem WM_REDRAW nachgesendet.
- Aber 1. werten viele Applikationen direkt nach der Fileselektion erst
- mal keine Nachrichten aus, und 2. kam manchmal ein weiteres, von den
- AES verschicktes WM_REDRAW dazwischen, weshalb das WM_MOVED nicht mehr
- als erste Nachricht bei der Applikation ankam und damit das Fenster an
- einer falschen Position neugezeichnet wurde. Auch können bei etwas mehr
- durch Freedom nachgereichte Nachrichten, welche bei Protkollen wie
- XAcc zwangsläufig anfallen, uU Nachrichten verlorengehen, was ab einer
- bestimmten Obergrenze mit alle bekannten AES-Versionen passiert. Der
- (mildeste) Effekt ist, das Applikations-Fenster, die sie während der
- Fileselektion verschoben haben, keine Redraw/Moved-Nachrichten
- erhalten, obwohl diese (im Sysmon nachvollziehbar!) abgeschickt wurden.
- Unter MagiC währe bei vielen Fenstern uU als Workaround statt dem
- Versenden der vieler Redraws das Auslösen von SMC_TIDY_UP denkbar...
-
-
- F: Wenn Kobold oder Parafin, von Freedom aufgerufen, ihr Fenster
- schliessen, toppt sich unter MagiC scheinbar zufälliges Fenster?
-
- A: Dieses fehlerhafte Toppen geht von MagiC aus! MagiC versucht zu
- verhindern, das das Topwindow und die aktuelle Menüzeile zu
- unterschiedlichen Programmen gehören. Dazu läßt es (zur Freude des
- Users) beim Schließen des letzten Fensters einer Applikation den
- Fensterstapel außer acht. Normalerweise würde dieser Effekt auch
- jedesmal auftreten, wenn Freedom sein letztes Fenster schließt (und das
- tut es sehr oft!) Zum Glück ist uns da ein Trick eingefallen: Wenn
- MagiC vorhanden ist, lowert Freedom das entsprechende Fenster vor dem
- Schließen (Wenn man ganz genau hinkuckt, sieht man das auch). Wenn das
- letzte Fenster nämlich beim Schließen nicht das oberste ist, verhält
- sich MagiC ganz "normal". Bleibt nur zu hoffen, das Andreas sich in
- diesem Punkt doch noch über den Willen seine Betatester hinwegsetzt...
- Schließlich kann man doch nicht von allen Programmierern verlangen,
- diesen Trick einzusetzen...
-
-
- F: Übersteht Freedom eigentlich einen Auflösungswechsel?
-
- A: Eigentlich ja. Wenn sie ganz sicher gehen wollen, schließen Sie auf
- jeden Fall alle Fileselektoren/Alerts von Freedom!!!
-
-
- F: Warum kommt unter MiNT bei "Load ...." der Systemalert + Fileselektor?
-
- A: Dieser Alert/Fileselektor wird vom AESSYS aufgerufen, und diesem Prozess
- sollte man tunlichst NICHT den Faden abnehmen...
-
-
- F: Warum kommt beim MagiC-Popup "Programm starten.." der Systemfileselektor,
- obwohl Selectric da funktioniert?
-
- A: Für diesen Fall hat MagiC eine seperate Fileselektorschnittstelle, die
- sich jedoch für Freedom's Zwecke als nicht brauchbar herausgestellt
- hat. Deshalb wird an dieser Stelle immer der Systemselektor kommen!
- (bzw Selectric, wenn Sie den vor FFSEL in den AUTO-Ordner packen)
-
-
- F: Ab und zu mal stürzt Gemini 1.a ab, wenn ich in Freedom Tasten drücke,
- die Freedom nicht belegt hat!
-
- A: Freedom gibt Tastendrücke an den AV-Server weiter, wenn er sie nicht
- kennt. In Gemini 1.a scheint sich ein Fehler eingeschlichen zu haben,
- der es beim Emfang von AV_SENDKEY abstürzen läßt. Siehe auch die Option
- #NOSENDKEY in Freedom's Konfigurationsdatei.
-
-
- F: Es gab einen Systemdeadlock/Absturz, während ich Freedom testete...
-
- A: Wir selbst haben Freedom jetzt schon einige Monate bei uns im Einsatz
- und keine Schwierigkeiten festgestellt. Allerdings haben wir natürlich
- nur mit den Programmen testen können, die wir selbst besitzen. Wenn Sie
- also einen "Übeltäter" ausmachen können, der unbedingt noch in
- Problemkind-Liste oben reinmuß: Programmname, Version und Effekte an
- uns schicken (email-Addressen am Ende dieses Textes)
-
-
- F: Muss es sein, das Freedom unter SingelTOS einen ACC-Slot belegt?
-
- A: Ja. Es gehört zum Konzept von Freedom, das die eigentliche
- Funktionalität des Fileselectors/Alerts in einer parallel laufenden
- Applikation realisiert ist und unter SingelTOS geht dies eben leider
- nur über Accessories. Mit der eCPX-Umsetzung wird sich das allerdings
- ändern!
-
-
- F: Kann es sein, das einige Einstellungen in der Konfigdatei von Freedom
- erst beim 2. Aufruf Wirkung haben (#VASTART, #MENUBAR, #NOALERTS), wenn
- Freedom im Nachlademodus betrieben wird?
-
- A: Stimmt, das ist ein prinzipielles Problem, das sich mit dem demnächst
- geplanten Umsetzung von Freedom als ein eCPX unter Space löst.
-
-
- F: Warum sind die drei Imagesätze (FREDOMxx.IMG) so häßlich?
-
- A: Weil Chrisker sie entworfen hat.
-
-
- F: Warum sind die Funktions-Icons unten links in Freedom so häßlich?
-
- A: Weil Kolja sie entworfen hat.
-
-
- 14. Fast vergessen
- ==================
-
- Wir übernehmen keine Haftung oder Verantworung für direkte oder indirekte
- Schäden jedweder Art, seien sie finanzieller, materieller oder sonstiger
- Art, die aus dem Gebrauch, Nichtgebrauch oder Mißbrauch von Freedom ent-
- stehen.
-
- Außerdem darf Freedom nicht ohne schriftliches Einverständnis unsererseits
- in irgendwelche kommerziellen PD- und Shareware-Sammlungen aufgenommen
- werden.
-
- Jetzt ist aber endgültig Schluß:
-
-
- 15. Hau to register:
- ====================
-
- 1. Moeglichkeit:
- ----------------
- DM 30,- (bar, V-Scheck) und ein frankierter und adressierter Rückumschlag
- in einen Brief und ab an:
-
- Kolja Koischwitz
- Sandhauser Straße 21
- 13505 Berlin
-
-
- 2. Moeglichkeit:
- ----------------
- 30,- überweisen/einzahlen auf das folgende Konto:
-
- Kolja Koischwitz, Konto-Nr. 705 92-100, beim PGiroamt Berlin, BLZ 10010010.
-
- mit einem _eindeutigen_ Vermerk, wer der Überweiser ist!!
- Parallel sollten Sie mit uns über Email/Sackpost Kontakt aufnehmen.
- Zur Errechnung eines Schlüssels brauchen wir _auf jeden Fall_ folgende
- Daten von Ihnen:
-
- Name: ........................
- Straße: ........................
- PLZ/Ort: ........................
-
-
- In beiden Fällen erhalten Sie schnellstmöglich einen Schlüssel, mit dem
- Sie das Registrierungsprogramm dazu bringen können, ihnen eine
- persönliche, uneingeschränkte Programmdatei FREEDOM.APP auuszupacken!
-
-
- Falls Sie eine Email-Addresse haben, bevorzugt per Email, ansonsten muss
- ein frankierter Rückumschlag in ihrem Brief beiliegen.
-
- Ganz nebenbei: Wenn sie unbedingt die neueste Version auf Diskette
- zugeschickt haben wollen, dann sollten sie auch eine solche beilegen und
- vor allem Rückumschlag/Rückporto nicht vergessen!! Besonders nett wäre,
- wenn sie für den zusätzlichen Aufwand unsererseits vielleicht ihren
- Sharewarebeitrag von sich aus etwas erhöhen. (o: Da wir drei nur je einen
- Anteil an den 30,- erhalten, registrieren wir ansonsten nämlich manchmal
- zum Nulltarif oder müssen sogar noch draufzahlen!
-
-
- Nachfragen können per Email gerichtet werden an:
-
- Kolja: joust@cs.tu-berlin.de
-
- Chrisker: chrisker@cs.tu-berlin.de
-
- Criss: Christian_Grunenberg@lb.maus.de (EnhancedGEM-Library)
-
-
- Das wars, Kolja & Chrisker
-